Return both error and success responses from a broadcast #27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thanks for the amazing work on this package @metachris and also @TitanBuilder for adding the broadcaster middleware in #19.
We are currently trying to integrate flashbotsrpc into stackup-bundler to enable broadcasting of ERC-4337 UserOperations to a list of known builders. I ran into some issues with error handling which I think this PR would fix.
In a success scenario, if I broadcast a batch to 3 builders with no errors, I would expect a response like this:
But in the case where one builder returns an error, we end up with a response like this:
In this case the error from a bad builder is causing all the successful responses to be thrown away and we are adding an additional response with the error
unexpected end of JSON input
. Ideally the response should look like this:The reason for this, which I address in the PR, is because:
json.Unmarshal
an error response with a nilmsg
which is causing the additionalunexpected end of JSON input
error.